package com.kehutong.charge.vo;

import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.kehutong.charge.util.enums.DateUnitEnum;
import com.kehutong.charge.util.enums.PriceUnitEnum;
import com.kehutong.charge.util.enums.ResidentsTypeEnum;
import com.kehutong.common.entity.DataEntity;
import com.kehutong.common.util.BigDecimalUtils;
import com.kehutong.common.util.ConvertUtils;
import org.coraframework.json.annotation.JSONField;
import org.coraframework.orm.annotation.Column;
import org.coraframework.orm.annotation.Table;
import org.coraframework.orm.util.IDType;

import java.math.BigDecimal;
import java.sql.Timestamp;

/**
 * @author jian Ye
 * @Title: kht
 * @Description: 违约金订单导出
 * @date 2021/7/27
 */
@ColumnWidth(15)
@ExcelIgnoreUnannotated
public class ChargePenaltyOrderExcelVO {

    @ColumnWidth(25)
    @ExcelProperty(value = "违约金编号")
    private String penaltyNo;

    @ColumnWidth(25)
    @ExcelProperty(value = "关联订单")
    private String itemBillNo;
    @ExcelProperty(value="违约用户")
    private String userName;

    private ResidentsTypeEnum residentsType;
    @ExcelProperty(value="住户类型")
    private String residentsTypeStr;

    @ColumnWidth(30)
    @ExcelProperty(value="违约地址")
    private String chargeAddress;
    @ExcelProperty(value="违约金额")
    private String penaltyAmount;
    @ExcelProperty(value="违约金")
    private String payableAmount;

    @ColumnWidth(25)
    @ExcelProperty(value="违约时间")
    private String penaltyDate;

    @ColumnWidth(25)
    @ExcelProperty(value="生成时间")
    private Timestamp createTime;



    public String getPenaltyAmount() {
        return penaltyAmount;
    }
    /**特殊处理*/
    public void setPenaltyAmount(String penaltyAmount) {
        this.penaltyAmount = BigDecimalUtils.parse(penaltyAmount);
    }

    public String getPayableAmount() {
        return payableAmount;
    }
    /**特殊处理*/
    public void setPayableAmount(String payableAmount) {
        this.payableAmount = BigDecimalUtils.parse(payableAmount);
    }

    /**特殊处理*/
    public String getResidentsTypeStr() {
        return ConvertUtils.toNoNullString(residentsType.getDesc());
    }

    public ResidentsTypeEnum getResidentsType() {
        return residentsType;
    }

    public void setResidentsType(ResidentsTypeEnum residentsType) {
        this.residentsType = residentsType;
    }

    /**特殊处理*/
    public String getPenaltyNo() {
        return ConvertUtils.toNoNullString(penaltyNo);
    }

    public void setPenaltyNo(String penaltyNo) {
        this.penaltyNo = penaltyNo;
    }

    public String getItemBillNo() {
        return itemBillNo;
    }

    public void setItemBillNo(String itemBillNo) {
        this.itemBillNo = itemBillNo;
    }

    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    public String getChargeAddress() {
        return chargeAddress;
    }

    public void setChargeAddress(String chargeAddress) {
        this.chargeAddress = chargeAddress;
    }


    public String getPenaltyDate() {
        return penaltyDate;
    }

    public void setPenaltyDate(String penaltyDate) {
        this.penaltyDate = penaltyDate;
    }

    public Timestamp getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Timestamp createTime) {
        this.createTime = createTime;
    }
}
